---
id: 65c4f22498d22ed775ef8efb
title: Крок 10
challengeType: 20
dashedName: step-10
---

# --description--

Тепер потрібно перевірити, чи параметр `node` є `None`. Якщо так, то метод досягнув кінцевого вузла або порожнього місця в дереві, куди потрібно вставити новий вузол.

Замініть `pass` в межах тіла методу `_insert` на інструкцію `if`, яка перевірятиме, чи `node is None`. Зверніть увагу, що `is` відрізняється від `==`. У Python, `is` перевіряє ідентичність об’єкта. Його використовують, щоб визначити, чи дві змінні вказують на один об’єкт в пам’яті. На відміну від `is`, `==` визначає, чи значення двох об’єктів одинакові, незалежно від того, чи це однаковий об’єкт в пам’яті.

В межах нового блоку `if` поверніть `TreeNode(key)`, щоб створити новий екземпляр `TreeNode` з наданим ключем. Він стане новим кінцевим вузлом, тим самим вставляючи ключ у дерево.

# --hints--

Метод `_insert` не повинен містити `pass`.

```js
({ test: () => assert.isFalse(runPython(`_Node(_code).find_class("BinarySearchTree").find_function("_insert").has_pass()`)) })

```

Напишіть інструкцію `if`, щоб перевірити, чи `node is None`.

```js
({ test: () =>
  {
    const transformedCode = code.replace(/\r/g, "");        
    const ins = __helpers.python.getDef("\n"+transformedCode, "_insert");
    const {function_body} = ins;    
    assert(function_body.match(/^\s{8}if\s+node\s+is\s+None\s*:/m));
  }
})
```

Поверніть `TreeNode(key)` з блоку `if`.

```js
({ test: () =>
  {
    const transformedCode = code.replace(/\r/g, "");        
    const ins = __helpers.python.getDef("\n"+transformedCode, "_insert");
    const {function_body} = ins;    
    assert(function_body.match(/^(\s{8})if\s+node\s+is\s+None\s*:\s*^\1\s{4}return\s+TreeNode\s*\(\s*key\s*\)/m));
  }
})
```

# --seed--

## --seed-contents--

```py
class TreeNode:

    def __init__(self, key):
        self.key = key
        self.left = None
        self.right = None

--fcc-editable-region--

class BinarySearchTree:

    def __init__(self):
        self.root = None

    def _insert(self, node, key):
        pass
--fcc-editable-region--
```
